A user may use a diagnostic device to aid in diagnosing problems with a vehicle. In one application, the user can enter various search criteria into the diagnostic device. The search criteria might include terms related to the vehicle, such as a vehicle identification number (“VIN”) or a make/model, and it might also include terms related to a particular problem with the vehicle. For example, in order to diagnose a problem causing a 2002 Corvette not to start, the user might enter the search string “2002 Corvette No Start” into the diagnostic device.
Once the diagnostic device receives the search string, it then performs a search of diagnostic materials and returns a list of results to the user. Where the diagnostic materials are stored on the diagnostic device, the diagnostic device itself might perform the search. Alternatively, the diagnostic device might send the search string to a remotely located search engine, which can perform the search and return the results to the diagnostic device. In either case, once the diagnostic device obtains the results to the search, it can then display those results on the diagnostic device.
In this particular example, the search might return a long list of problems that would cause the vehicle not to start. The user can then browse the results, and the user can select one or more of the results in order to view more information associated with the selected results. For example, for each result, the diagnostic device might only display part of the entry, which the user can select similar to a hyperlink in order to view the full entry. Oftentimes, the user will browse several of the results in order to find one that the user believes might be most applicable to the particular problem.
If the user does not find a satisfactory result, then the user might perform an entirely new search using a different search string. The second query would be directed toward the same problem (e.g., not starting) but might include different search terms. The user might broaden the query if the results from the first search were too narrow, or the user might narrow the query if the results from the first search were too broad. For example, the first search might have returned a number of results related to the fuel injector as the cause of the vehicle not starting. However, the user might believe the problem is related to the solenoid rather than the fuel injector. So, for the second search the user might enter the search string of “2002 Corvette starter solenoid”. This search string would then return results related to the solenoid rather than with the fuel injector.
The user can again browse the results, and based on the results the user might again refine the search string and perform yet another search. The process of refining the search criteria and running repeated searches can continue until the user either finds the desired results or gets frustrated and abandons the searches in favor of another method for determining the problem with the vehicle. Even if the user does eventually find the desired result, this searching process might take at least several iterations. This can increase the total amount of time it takes a repair technician to diagnose the problem with the vehicle, thereby also increasing the total cost associated with diagnosing the problem.
Therefore, there exists a need for improved methods for searching diagnostic data.